﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using eTMS.Controllers.HeDaoTaoService;

namespace eTMS.Controllers
{
    public class CommonController : CommonControllers.CommonControllerBase
    {

        public CommonController() :
            base()
        {
        }
        private static HeDaoTaoService.HeDaoTaoEntity _HeDaoTao = new HeDaoTaoEntity();
        public static HeDaoTaoService.HeDaoTaoEntity HeDaoTao
        {
            get
            {
                return _HeDaoTao;
            }
            set
            {
                _HeDaoTao = value;
            }
        }
        
        public void LoadAllCachedList()
        {
            BoMonController.LoadAllBoMon(true);
            DanhHieuKhenThuongController.LoadAllDanhHieuKhenThuong(true);
            DanTocController.LoadAllDanToc(true);
            DoiTuongTSController.LoadAllDoiTuongTS(true);
            GiaoVienController.LoadAllGiaoVien(true);
            HeDaoTaoController.LoadAllHeDaoTao(true);
            HinhThucKyLuatController.LoadAllHinhThucKyLuat(true);
            HocKyController.LoadAllHocKy(true);
            HoSoController.LoadAllHoSo(true);
            KhoaController.LoadAllKhoa(true);
            KhoaHocController.LoadAllKhoaHoc(true);
            KhuVucController.LoadAllKhuVuc(true);
            LoaiGiayToController.LoadAllLoaiGiayTo(true); ;
            MonHocController.LoadAllMonHoc(true);
            NamHocController.LoadAllNamHoc(true);
            NganhHocController.LoadAllNganhHoc(true);
            QuanHuyenController.LoadAllQuanHuyen(true);
            QuocGiaController.LoadAllQuocGia(true);
            TinhThanhController.LoadAllTinhThanh(true);
            TonGiaoController.LoadAllTonGiao(true);
            TrangThaiController.LoadAllTrangThai(true);
            TrangThaiSinhVienController.LoadAllTrangThaiSinhVien(true);
            XepLoaiPhoThongController.LoadAllXepLoaiPhoThong(true);
        }
        public static HocKyService.HocKyEntity GetCurrentHocKy()
        {
            return HocKyController.ListHocKyStatic.Find(delegate(HocKyService.HocKyEntity oFind) { return oFind.HocKyHienTai; });
        }
        public static NamHocService.NamHocEntity GetCurrentNamHoc()
        {
            return NamHocController.ListNamHocStatic.Find(delegate(NamHocService.NamHocEntity oFind) { return oFind.NamHocHienTai; });
        }

        public int GetNamThu(DateTime batDauKhoa, DateTime batDauNamHoc)
        {
            return batDauKhoa.Year - batDauNamHoc.Year + 1;
        }
    }
}
